<?php
include_once('inc/functions.inc.php');

if(!isEmpty(getParam('operation'))){
    
    switch(getParam('operation')){
        case 'empresas': {
            fntGetEmpresa($db);
            break;
        }
        case 'cuentas': {
            fntGetCuentas($db);
            break;
        }
        case 'contenido': {
            fntGetContenido($db);
            break;
        }
        case 'cc': {
            contabilidad_getCuentasUltimoNivel($db);
            break;
        }
        case 's': {
            fntGrabar($db);
            break;
        }
        case 'chequeras': {
            fntGetChequeras($db);
            break;
        }
        
    }
    die();
}

function fntGetEmpresa($db){
    
    $strQuery = "SELECT * FROM cllg_contab_empresa ORDER BY nombre";
    $qTMP = $db->query($strQuery);
    $intNumRows = $db->num_rows;
    
    if( $intNumRows > 0 ) {
        ?>
        <b>Empresa:</b>
        <select name="sltCuentasEmpresa" style="width: 150px;">
            <option value="0"></option>
            <?php
            while ( $rTMP = $db->fetch_array($qTMP) ) { 
                ?>
                <option value="<?php print $rTMP["codigo"]; ?>"><?php print $rTMP["nombre"]; ?></option>
                <?php    
            }
            ?>            
        </select>
        <?php
    }
    else {
        ?>
        <select name="sltCuentasEmpresa" style="width: 150px;">
            <option value="0"></option>
        </select>       
        <?php        
    }
    $db->free_result($qTMP);
    
    ?>
    <script type="text/javascript" language="javascript">
    $("select[name='sltCuentasEmpresa']").change(function() {
        fntGetCuentas(0);
    });
    </script>
    <?php
    
}
function fntGetCuentas($db){
    
    $intCuenta = getParam("intCuenta"); 
    $intEmpresa = getParam("sltCuentasEmpresa"); 
    $strQuery = "SELECT * FROM cllg_bnc_cuenta WHERE fk_empresa = '{$intEmpresa} ' ORDER BY numero";
    $qTMP = $db->query($strQuery);
    $intNumRows = $db->num_rows;
    
    if( $intNumRows > 0 ) {
        ?>
        <select name="sltCuenta" style="width: 150px;">
            <option value="0">--- Nueva cuenta ---</option>
            <?php
            while ( $rTMP = $db->fetch_array($qTMP) ) { 
                ?>
                <option value="<?php print $rTMP["NUMERO"]; ?>" <?php print ($intCuenta==$rTMP["NUMERO"]) ? "selected" : ""; ?>><?php print $rTMP["CUENTA"]; ?></option>
                <?php    
            }
            ?>            
        </select>
        <?php
    }
    else {
        ?>
        <select name="sltCuenta" style="width: 150px;">
            <option value="0">--- Nueva cuenta ---</option>
        </select>       
        <?php        
    }
    $db->free_result($qTMP);
    
    ?>
    <script type="text/javascript" language="javascript">
    $("select[name='sltCuenta']").change(function() {
        fntGetContenido();
        fntGetChequeras(false, false);
    });
    </script>
    <?php
    
}
function fntGetContenido($db) {
    
    $arrInfo = array();
    $id = getParam("sltCuenta");
        
    $strQuery = "SELECT cllg_bnc_cuenta.*, 
                        cllg_contab_cuenta.nombre AS ccNombre 
                 FROM   cllg_bnc_cuenta,
                        cllg_contab_cuenta
                 WHERE  cllg_bnc_cuenta.numero = '{$id}'
                 AND    cllg_bnc_cuenta.fk_cuenta_contable = cllg_contab_cuenta.codigo";
    $qTMP = $db->query($strQuery);
    while ( $rTMP = $db->fetch_array($qTMP) ) {
        $arrInfo = $rTMP;        
    }
    $db->free_result($rTMP);
    
    $sltEmpresa = getParam("sltCuentasEmpresa");
    $txtNumero = (isset($arrInfo["CUENTA"])) ? $arrInfo["CUENTA"] : "";
    $txtNombre = (isset($arrInfo["NOMBRE"])) ? $arrInfo["NOMBRE"] : "";
    $sltBanco = isset($arrInfo["FK_BANCO"]) ? $arrInfo["FK_BANCO"] : 0;
    $sltTipo = isset($arrInfo["TIPO"]) ? $arrInfo["TIPO"] : 0;
    $hdnCuentaContable = isset($arrInfo["FK_CUENTA_CONTABLE"]) ? $arrInfo["FK_CUENTA_CONTABLE"] : 0;
    $strCuentaContable = isset($arrInfo["FK_CUENTA_CONTABLE"]) ? $arrInfo["FK_CUENTA_CONTABLE"]." - ".$arrInfo["ccNombre"] : 0;
    $chkEstado = isset($arrInfo["ESTADO"]) ? intval($arrInfo["ESTADO"]) : 0;
    ?>
    <div style="width: 100%; background-color: aqua;">
        <div style="width: 20%; height: 30px; float: left; text-align: left;"><b>Banco</b></div>
        <div style="width: 80%; height: 30px; float: left; text-align: left;">
            <select name="sltBanco1" style="width: 150px;">
                <option value="0"></option>
                <?php
                $strQuery = "SELECT * FROM cllg_bnc_banco";
                $qTMP = $db->query($strQuery);
                while ( $rTMP = $db->fetch_array($qTMP) ) {
                    $strSelectedID = ( $sltBanco == $rTMP["ID"] ) ? "selected" : "";
                    ?>
                    <option value="<?php print $rTMP["ID"]; ?>" <?php print $strSelectedID; ?>><?php print $rTMP["NOMBRE"]; ?></option>
                    <?php
                    
                }
                $db->free_result($rTMP);    
                ?>
            </select>
        </div>
        <div style="width: 20%; height: 30px; float: left; text-align: left;"><b>No. de la Cuenta</b></div>
        <div style="width: 80%; height: 30px; float: left; text-align: left;"><input type="text" name="txtNumero" value="<?php print $txtNumero; ?>" style="width: 150px;"></div>
        <div style="width: 20%; height: 30px; float: left; text-align: left;"><b>Nombre de la Cuenta</b></div>
        <div style="width: 80%; height: 30px; float: left; text-align: left;"><input type="text" name="txtNombre" value="<?php print $txtNombre; ?>" style="width: 150px;"></div>
        <div style="width: 20%; height: 30px; float: left; text-align: left;"><b>Tipo de la Cuenta</b></div>
        <div style="width: 80%; height: 30px; float: left; text-align: left;">
            <select name="sltTipo" style="width: 150px;">
                <option value="0"></option>
                <option value="1" <?php print ($sltTipo == 1)? "selected" : ""; ?>>Monetaria</option>
                <option value="2" <?php print ($sltTipo == 2)? "selected" : ""; ?>>Ahorro</option>
            </select>
        </div>
        <div style="width: 20%; height: 30px; float: left; text-align: left;">
            <div style="width: 85%; float: left;"><b>Cuenta contable</b></div>
            <div id="divCuentaContableCambio" title="Cambiar cuenta contable" style="width: 15%; float: left; cursor: pointer; display:<?php print ($hdnCuentaContable==0) ? "none" :""; ?>" class="ui-icon ui-icon-transferthick-e-w"></div>
        </div>
        <div style="width: 80%; height: 30px; float: left; text-align: left;">
            <div style="width: 100%;">
            <input type="hidden" name="hdnCuentaContable" value="<?php print $hdnCuentaContable; ?>">
            <input type="text" name="txtCuentaContable" value="" style="width: 150px; display:<?php print ($hdnCuentaContable==0) ? "" :"none"; ?>">
            <div id="divCuentaContable" style="width: 95%; float: left; display:<?php print ($hdnCuentaContable==0) ? "none" :""; ?>"><?php print $strCuentaContable; ?></div>
            </div>
            <script type="text/javascript">
            $("input[name='txtCuentaContable']").autocomplete({
                source: "admin_bancos_cuentas_data.php?operation=cc&sltCuentasEmpresa=<?php print $sltEmpresa; ?>",
                minLength: 1,
                select: function( event, ui ) {
                    
                    $("input[name='hdnCuentaContable']").val(ui.item.id);
                    $("#divCuentaContable").html(ui.item.value);
                    $(this).hide();
                    $("#divCuentaContable").show();
                    $("#divCuentaContableCambio").show();
                   
                }
            });
            $("#divCuentaContableCambio").click(function() {
                $("#divCuentaContable").hide();
                $("input[name='txtCuentaContable']").show().select();
            });
            </script>
        </div>
        <div style="width: 20%; height: 30px; float: left; text-align: left;"><b>Activa</b></div>
        <div style="width: 80%; height: 30px; float: left; text-align: left;"><input type="checkbox" name="chkEstado" value="1" <?php print ($chkEstado==1) ? "checked" : ""; ?> ></div>
    </div>
    <?php
}
function contabilidad_getCuentasUltimoNivel($db) {
    
    $arrResult = array();
    $empresa = getParam("sltCuentasEmpresa");
    $term = getParam("term");
    $strQuery = "SELECT c1.* FROM cllg_contab_cuenta c1
                 LEFT JOIN cllg_contab_cuenta c2 ON(c1.codigo = c2.fk_padre AND c1.fk_empresa = c2.fk_empresa )
                 WHERE (c1.codigo LIKE '%{$term}%' OR c1.nombre LIKE '%{$term}%') 
                 AND    c1.fk_empresa = '{$empresa}'
                 AND    c2.codigo IS NULL";
    $qTMP = $db->query($strQuery);
        
    if( $rTMP = $db->fetch_array($qTMP) ) {

        do {
            $arrTMP =  array();
            $arrTMP["id"] = utf8_encode($rTMP["codigo"]);
            $arrTMP["value"] = utf8_encode($rTMP["codigo"]." - ".$rTMP["nombre"]);
            
            array_push($arrResult,$arrTMP);
            
        } while ($rTMP = $db->fetch_array($qTMP));
        
    }
    $db->free_result($rTMP);
    
    print   json_encode($arrResult);    
    
}
function fntGrabar($db) {

    $id = getParam("sltCuenta");
    $numero = getParam("txtNumero");
    $nombre = getParam("txtNombre");
    $tipo = getParam("sltTipo");
    $cc = getParam("hdnCuentaContable");
    $estado = getParam("chkEstado", 0);
    $banco = getParam("sltBanco1");
    $empresa = getParam("sltCuentasEmpresa");
    
    if( $id == 0 ) {    
        $strQuery = "SELECT * FROM cllg_bnc_cuenta WHERE numero = '{$numero}'";
        $qTMP = $db->query($strQuery);
        $intNumRows = $db->num_rows;
        $db->free_result($qTMP);
        if( $intNumRows == 0 ) {
            $db->query("INSERT INTO cllg_bnc_cuenta ( CUENTA, NOMBRE, TIPO, FK_CUENTA_CONTABLE, ESTADO, FK_BANCO, FK_EMPRESA) VALUES ('{$numero}', '{$nombre}', '{$tipo}', '{$cc}', '{$estado}', '{$banco}', '{$empresa}')");
            ?>
            <div class="ui-widget" style="border: 0px solid white; width: 900px; height: auto; vertical-align: bottom; text-align: center;">
                <div class="ui-state-highlight ui-corner-all" style="margin-top: 0px; padding: 0pt 0.7em; height: auto; width: 220px;"> 
                    <span class="ui-icon ui-icon-info" style="float: left; margin-right: 0.3em;"></span>
                    Datos guardados.
               </div>
            </div>
            <br>
            <?php
        }
        else {
            ?>
            <div class="ui-widget" style="border: 0px solid white; width: 900px; height: auto; vertical-align: bottom; text-align: center;">
                <div class="ui-state-error ui-corner-all" style="margin-top: 0px; padding: 0pt 0.7em; height: auto; width: 220px;"> 
                    <span class="ui-icon ui-icon-alert" style="float: left; margin-right: 0.3em;"></span>
                    Ya existe cuenta.
               </div>
            </div>
            <br>        
            <?php        
        }
    }
    else {
        $db->query("UPDATE cllg_bnc_cuenta SET CUENTA = '{$numero}', nombre = '{$nombre}', tipo = '{$tipo}', FK_CUENTA_CONTABLE = '{$cc}', ESTADO = '{$estado}', FK_BANCO = '{$banco}', FK_EMPRESA = '{$empresa}' WHERE numero = '{$id}'");
        ?>
        <div class="ui-widget" style="border: 0px solid white; width: 900px; height: auto; vertical-align: bottom; text-align: center;">
            <div class="ui-state-highlight ui-corner-all" style="margin-top: 0px; padding: 0pt 0.7em; height: auto; width: 220px;"> 
                <span class="ui-icon ui-icon-info" style="float: left; margin-right: 0.3em;"></span>
                Datos actualizados.
           </div>
        </div>
        <br>
        <?php
    }
    ?>
    <script type="text/javascript">
    fntGetCuentas('<?php print $id; ?>');
    </script>
    <?php
    
}
function fntGetChequeras($db) {
    
    $intCuenta = ( isset($_POST["sltCuenta"]) ) ? $_POST["sltCuenta"] : 0;
    $boolGrabar = ( isset($_GET["boolGrabarChequera"]) && $_GET["boolGrabarChequera"] == "true" ) ? true : false;
    $boolUpdate = ( isset($_GET["boolUpdateChequera"]) && $_GET["boolUpdateChequera"] == "true" ) ? true : false;
    if( $intCuenta > 0 ) {
        
        if( $boolGrabar ) {
            $intChequeInicial = ( isset($_POST["txtChequeInicial"]) ) ? $_POST["txtChequeInicial"] : 0;
            $intChequeFinal = ( isset($_POST["txtChequeFinal"]) ) ? $_POST["txtChequeFinal"] : 0;
            if( !empty($intChequeInicial) && $intChequeInicial > 0 && !empty($intChequeFinal) && $intChequeFinal > 0 && $intChequeInicial <= $intChequeFinal  ) {
                $db->query("INSERT INTO cllg_bnc_cuenta_chequeras (FK_CUENTA, CHEQUE_INICIAL, CHEQUE_FINAL, ESTADO) VALUES ('{$intCuenta}', '{$intChequeInicial}', '{$intChequeFinal}', '1')");
            }
        }
        if( $boolUpdate ) {
            $intActiva = ( isset($_POST["radActiva"]) ) ? $_POST["radActiva"] : 0;
            $db->query("UPDATE cllg_bnc_cuenta_chequeras SET ESTADO = '0' WHERE FK_CUENTA = '{$intCuenta}'");
            $db->query("UPDATE cllg_bnc_cuenta_chequeras SET ESTADO = '1' WHERE FK_CUENTA = '{$intCuenta}' AND ID = '{$intActiva}'");
        }
        ?>
            <table width="100%" cellpadding="2" cellspacing="2" border="0">
                <tr>
                    <td align="center" colspan="3"><b>Chequeras</b></td>
                </tr>
                <tr>
                    <td colspan="3">&nbsp;</td>
                </tr>            
                <tr>
                    <td align="center"><input type="text" name="txtChequeInicial" id="txtChequeInicial" value=""></td>
                    <td align="center"><input type="text" name="txtChequeFinal" id="txtChequeFinal" value=""></td>
                    <td align="center">
                        <button type="button" id="btnChequeras">Agregar</button>
                        <script type="text/javascript">
                        $( function(){
                            $("#btnChequeras").button({
                                icons: {
                                    primary: "ui-icon-disk"
                                }
                            }).click( function () {
                                fntGetChequeras(true, false);
                            });
                            
                        });
                        </script>
                    </td>
                </tr>
                <tr>
                    <td align="center" style="border-bottom: 1px solid black;"><b>Del</b></td>
                    <td align="center" style="border-bottom: 1px solid black;"><b>Al</b></td>
                    <td align="center" style="border-bottom: 1px solid black;"><b>Activa</b></td>
                </tr>
                <?php
                $strQuery = "SELECT * FROM cllg_bnc_cuenta_chequeras WHERE fk_cuenta = '{$intCuenta} ' ORDER BY id";
                $qTMP = $db->query($strQuery);
                $intNumRows = $db->num_rows;

                if( $intNumRows > 0 ) {
                    while ( $rTMP = $db->fetch_array($qTMP) ) { 
                        ?>
                        <tr>
                            <td align="center"><?php print $rTMP["CHEQUE_INICIAL"]; ?></td>
                            <td align="center"><?php print $rTMP["CHEQUE_FINAL"]; ?></td>
                            <td align="center"><input type="radio" name="radActiva" value="<?php print $rTMP["ID"]; ?>" <?php print ( $rTMP["ESTADO"] == 1 ) ? "checked" : ""; ?>></td>
                        </tr>
                        <?php    
                    }
                }
                else {
                    ?>
                    <tr>
                        <td colspan="3">
                            <div class="ui-widget" style="border: 0px solid white; width: 100%; height: auto; vertical-align: bottom; text-align: center;">
                                <div class="ui-state-highlight ui-corner-all" style="margin-top: 0px; padding: 0pt 0.7em; height: auto; width: 90%;"> 
                                    <span class="ui-icon ui-icon-info" style="float: left; margin-right: 0.3em;"></span>
                                    Ingresar chequeras.
                               </div>
                            </div>
                        </td>
                    </tr>      
                    <?php        
                }
                $db->free_result($qTMP);
                ?>
                <tr>
                    <td colspan="3">&nbsp;</td>
                </tr>
            </table>
            <script type="text/javascript">
            $( function(){
                $("input[name='radActiva']").change( function () {
                    fntGetChequeras(false, true);
                });                
            });
            </script>
        <?php
    }   
    
}  
?>